#include <iostream>
#include <iomanip>
#include <stack>
#include <vector>
using namespace std;

int main()
{
  vector<int> v(3,12);
  stack<int,vector<int> > d(v); //explicit constructor
  v.push_back(13),v.push_back(14);
  cout<<"size():\t"<<d.size()<<endl;
  cout<<"empty():\t"<<d.empty()<<endl;
  cout<<endl;
  
  stack<int,vector<int> > e(d); //synthesized copy constructor
  e.push(1212);
  cout<<"size():\t"<<e.size()<<endl;
  cout<<boolalpha<<"empty():\t"<<e.empty()<<endl;
  cout<<endl;
 
  cout<<"v.size()"<<v.size()<<endl;
  return 0;
}
